package com.qire.manhua.model.viewModel;

import com.qire.antsbinder.viewModel.annotation.ViewModelProperty;
import com.qire.antsbinder.viewModel.annotation.ViewModelProperty.Type;
import com.qire.common.support.base.IViewModel;
import com.qire.manhua.BR;
import com.qire.manhua.view.comicReader.renderer.PictureResource;

import java.util.ArrayList;

import androidx.lifecycle.MutableLiveData;

public interface IComicQuickReadViewModel extends IViewModel {

    int variableId = BR.comicQuickReadViewModel;

    @ViewModelProperty(name = {"comicTitle", "tagsInfo", "comicDetailsInfo", "lastUpdateInfo", "likeInfo"}, type = Type.SET)
    void loadDetailsData(CharSequence comicTitle, CharSequence tagsInfo, CharSequence comicDetailsInfo, CharSequence lastUpdateInfo, CharSequence likeInfo);

    @ViewModelProperty(name = "pageNo")
    MutableLiveData<Integer> getPageNo();

    @ViewModelProperty(name = "comicTitle")
    MutableLiveData<CharSequence> getComicTitle();

    @ViewModelProperty(name = "tagsInfo")
    MutableLiveData<CharSequence> getTagsInfo();

    @ViewModelProperty(name = "lastUpdateInfo")
    MutableLiveData<CharSequence> getLastUpdateInfo();

    @ViewModelProperty(name = "likeInfo")
    MutableLiveData<CharSequence> getLikeInfo();

    @ViewModelProperty(name = "comicDetailsInfo")
    MutableLiveData<CharSequence> getComicDetailsInfo();

    @ViewModelProperty(name = "pictureResourceList")
    MutableLiveData<ArrayList<PictureResource>> getPictureResourceList();

    @ViewModelProperty(name = "chaptersTitle")
    MutableLiveData<CharSequence> getChaptersTitle();

    @ViewModelProperty(name = "collectBtnBgRid")
    MutableLiveData<Integer> getCollectBtnBgRid();

    @ViewModelProperty(name = "collectBtnIconRid")
    MutableLiveData<Integer> getCollectBtnIconRid();

    @ViewModelProperty(name = "historyVisible")
    MutableLiveData<Integer> getHistoryVisible();

    @ViewModelProperty(name = "historyRecord")
    MutableLiveData<CharSequence> getHistoryRecord();

}
